package com.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Action;

import com.example.page.Page;
import com.opensymphony.xwork2.ActionSupport;

public class PageAction extends ActionSupport {
	private Page page;
	
	public PageAction() {
//		page = new Page();
//		page.setItemCount(100);
//		page.setPageCount(10);
//		page.setPageSize(10);
//		page.setUrl("page.action");
//		page.setSelectPage(1);
//		page.setData(getData(1));
	}

	public Page getPage() {
		return page;
	}

	public void setPage(Page page) {
		this.page = page;
	}

	private List<String> getData(int index) {
		List<String> poList = new ArrayList<String>();
		int from = index;
		for (int i = 1; i <= 10; i++) {
			poList.add("data" + from);
			from++;
		}
		
		return poList;
	}
	
	@Action("/navigation")
	public String fetchData() {
		
		String param =  ServletActionContext.getRequest().getParameter("page.selectPage");
		System.out.println(param);
		
		if (param == null) {
			page = new Page();
			// 在这里设置action指定页数时失效
//			page.setItemCount(85);
//			page.setPageCount(9);
//			page.setPageSize(10);
//			page.setUrl("navigation.action");
		}
		
		System.out.println(page);
		
		System.out.println(page.getSelectPage());		
		
		page.setData(getData(page.getFrom()));
		
		// 在这里设置才有效
		page.setItemCount(295);
		page.setPageCount(30);
		page.setPageSize(10);
		page.setUrl("navigation.action");
		
		
		ServletActionContext.getRequest().setAttribute("txt", "How are you!");
		
		return SUCCESS;
	}
	
	public String getMessage() {
		return "hello world!";
	}
}
